home *** CD-ROM | disk | FTP | other *** search
/ Freelog 100 / FreelogNo100-NovembreDecembre2010.iso / Musique / jokosher / jokosher_setup_0.11.4.exe / {app} / extensions / GNOMEAudioProfiles.py < prev    next >
Text File  |  2009-01-08  |  1KB  |  37 lines

  1. #    GNOMEAudioProfiles.py
  2. #    --------------------
  3. #    This extension is for adding the GNOME Audio Profiles into Jokosher
  4.  
  5. import Jokosher.Extension
  6. import gconf
  7. import traceback
  8.  
  9. EXTENSION_NAME = "GNOME Audio Profiles"
  10. EXTENSION_DESCRIPTION = "Imports GNOME Audio Profiles into jokosher"
  11. EXTENSION_VERSION = "0.0.1"
  12. _GCONF_PROFILE_PATH = "/system/gstreamer/0.10/audio/profiles/"
  13. _GCONF_PROFILE_LIST_PATH = "/system/gstreamer/0.10/audio/global/profile_list"
  14. audio_profiles_list = []
  15. API = None
  16.  
  17. def startup(api):
  18.     global API, audio_profiles_list
  19.     API = api
  20.     _GCONF = gconf.client_get_default()
  21.     profiles = _GCONF.get_list(_GCONF_PROFILE_LIST_PATH, 1)
  22.     for name in profiles:
  23.         if (_GCONF.get_bool(_GCONF_PROFILE_PATH + name + "/active")):
  24.             description = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/name")
  25.             extension = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/extension")
  26.             encodeBin = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/pipeline")
  27.             
  28.             #last parameter is False to tell Jokosher to assume the strings are correct, and not check them.
  29.             error = API.add_export_format(description, extension, encodeBin, False)
  30.             if error == 0:
  31.                 #it has been succesfully added, so keep track of what we added
  32.                 audio_profiles_list.append((description, extension, encodeBin))
  33.  
  34. def shutdown():
  35.     for format in audio_profiles_list:
  36.         API.remove_export_format(*format)
  37.